package com.lms.collection.set;

import java.util.Arrays;
import java.util.EnumSet;

/**
 * @Author: 李孟帅
 * @CreateTime: 2020-06-12 07:15
 * @Description:
 */
public class EnumSetDemo {
    public static void main(String[] args) {
        //创建一个包含指定元素类型中所有元素的枚举集。
        EnumSet<Day> days = EnumSet.allOf(Day.class);
        //创建与指定枚举集具有相同元素类型的枚举集，排除掉days中的元素。
        EnumSet<Day> days1 = EnumSet.complementOf(days);
        //创建与指定的枚举集相同的元素类型的枚举集，最初包含相同的元素（如果有）。
        EnumSet<Day> days2 = EnumSet.copyOf(days);
        //创建从指定集合初始化的枚举集。
        EnumSet<Day> days3 = EnumSet.copyOf(Arrays.asList(Day.FRIDAY, Day.SATURDAY));
        //使用指定的元素类型创建一个空的枚举集。
        EnumSet<Day> days4 = EnumSet.noneOf(Day.class);
        //创建一个最初包含指定元素的枚举集。
        EnumSet<Day> monday = EnumSet.of(Day.MONDAY);
        monday.add(Day.SUNDAY);
        EnumSet<Day> friday = EnumSet.of(Day.FRIDAY, Day.FRIDAY, Day.SATURDAY, Day.THURSDAY);
        EnumSet<Day> range = EnumSet.range(Day.MONDAY, Day.FRIDAY);
    }
}
